package com.kaifamiao.demo.d0827;

import java.io.File;
import java.io.IOException;
import java.util.Arrays;

public class Demo {

    public static void main(String[] args) throws IOException {
        /*
            File 文件或目录的路径
         */
//        File file = new File("d:\\temp" + File.separator + "a.txt");
//        File directory = new File("d:\\temp1");
//        File file1 = new File("d:\\temp", "a.txt");
//        File file2 = new File(directory, "a.txt");
        File file = new File("d:\\temp\\");

        // file 对象表示的路径在磁盘上是否存在
        System.out.println(file + " 是否存在 " + file.exists());
        // 是否是文件  1. 存在 2. 是文件
        System.out.println(file + " 是否是文件 " + file.isFile());
        // 是否是文目录  1. 存在 2. 是目录
        System.out.println(file + " 是否是目录 " + file.isDirectory());
        System.out.println(file + " 是否是隐藏的 " + file.isHidden());

        /**
         *  绝对路径指从根路径开始, D:    /   http://
         *  相对路径指相对当前位置  a.txt
         */
        // 是否是绝对路径
        System.out.println(file + "是否是绝对路径 " + file.isAbsolute());
        File file1 = new File("a.txt");
        System.out.println(file1 + " 是否存在 " + file1.exists());
        System.out.println(file1 + " 是否是绝对路径 " + file1.isAbsolute());


        // file 对象表示的路径的最后一级
        System.out.println(file+ " file 获取名称 " + file.getName());
        System.out.println(file1 + " 获取名称 " + file1.getName());
        // 创建 file 对象时的路径
        System.out.println(file + " 获取路径 " + file.getPath());
        System.out.println(file1 + " 获取路径 " + file1.getPath());
        // 绝对路径
        System.out.println(file + " 获取绝对路径 " + file.getAbsolutePath());
        System.out.println(file1 + " 获取绝对路径 " + file1.getAbsolutePath());
        // 单位 字节（byte）
        System.out.println(file + " 的大小 " + file.length());


        // 项目(文件、目录)列表
        String[] names = file.list();
        System.out.println(Arrays.toString(names));

        File[] files = file.listFiles();
        System.out.println(Arrays.toString(files));

        System.err.println("==========");
        System.err.println(file1);

        // new File(file1.getAbsolutePath());
        File file2 = file1.getAbsoluteFile();

        System.err.println(file1);
        System.err.println(file2);

        System.err.println(file1.getName());
        System.err.println(file2.getName());

        File f = new File("d://a.txt");

        System.err.println(f.getCanonicalPath()); // D:\a.txt

        File javaFile = new File("d:\\temp\\ff.txt");

//        System.err.println(javaFile.canExecute()); // true

        // 创建目录
//        System.err.println(javaFile.mkdir());
        // 创建多层次的目录
//        System.err.println(javaFile.mkdirs());

        // 创建文件
        System.err.println(javaFile.createNewFile());

        javaFile.deleteOnExit();

        System.out.println("end");
//        System.err.println(javaFile.renameTo(new File("d:\\f.txt")));
    }
}
